<template>
<div>
	<home-header></home-header>
	<home-swiper :list="swiperList"></home-swiper>
	<home-icons :list="iconList"></home-icons>
	<home-recommend :list="recommendList"></home-recommend>
	<home-weekend :list="weekendList"></home-weekend>
</div>
</template>

<script>
import HomeHeader from './components/Header'
import HomeSwiper from './components/Swiper'
import HomeIcons from './components/icons'
import HomeRecommend from './components/Recommend'
import HomeWeekend from './components/weekend'
import axios from 'axios'
import { mapState } from 'vuex'
export default {
  name: 'Home',
  components:{
  	HomeHeader:HomeHeader,
  	HomeSwiper:HomeSwiper,
  	HomeIcons:HomeIcons,
  	HomeRecommend:HomeRecommend,
  	HomeWeekend: HomeWeekend
  },
  data () {
  	return {
      lastCity: '',
  		swiperList: [],
  		iconList: [],
  		recommendList: [],
  		weekendList: []
  	}
  },
  computed:{
      ...mapState(['city'])
  },
  methods: {
  	getHomeInfo(){
  		axios.get(`/api/index.json?city=${this.city}`)
  		.then(this.getHomeInfoSucc)
  	},
  	getHomeInfoSucc (res){
  		res = res.data
  		if(res.ret&&res.data){
  			const data = res.data
  			this.swiperList = data.swiperList
  			this.iconList = data.iconList
  			this.recommendList = data.recommendList
  			this.weekendList = data.weekendList
  		}
  	}
  },
  mounted(){
    this.lastCity = this.city
  	this.getHomeInfo();
  },
  activated(){
    if(this.lastCity!==this.city){
      this.lastCity = this.city
      this.getHomeInfo()
    }
  }
}
</script>

<style>
</style>
